package packGestionAgendas;

import java.util.Iterator;
import java.util.Vector;

import packGestionAgendas.packExcepciones.EmpleadoNoEncontradoException;

public class RelacionEmpleados {
	private static RelacionEmpleados mRelacionEmpleados;
	private Vector listaEmpleados;
	
	private RelacionEmpleados()
	{
		listaEmpleados = new Vector();
	}
	
	public static RelacionEmpleados obtRelacionEmpleados() {
		if (mRelacionEmpleados == null)
		{
			mRelacionEmpleados= new RelacionEmpleados();
		}
		return mRelacionEmpleados;
	}
	
	public void anadirEmpleado(Empleado pEmpleado) {
		listaEmpleados.add(pEmpleado);		
	}
	
	public Empleado obtEmpleado(String pDni) throws EmpleadoNoEncontradoException {
		Empleado empleado = null;
		boolean encontrado = false;
		Iterator iterator = obtIterador();
		while (!encontrado && iterator.hasNext()) {
			empleado = (Empleado) iterator.next();
			if (empleado.obtDni().equalsIgnoreCase(pDni))
			{
				encontrado = true;
			}
		}
		if (encontrado)
		{
			return empleado;
		}
		else
		{
			throw new EmpleadoNoEncontradoException();
		}
	}
	

	private Iterator obtIterador() {
		return listaEmpleados.iterator();
	}
}
